import { TABS_CONTACT_KEY, TAB_CONTACT_KEY } from '@/components/AppTabs/types'
import type { CB, ElementData } from './Model'

/**
 * 选择当前页面中的一个元素进行查询，得到该元素的宽度高度等信息，可异步使用
 * @param key 元素的标识，如id、class等
 * @param cb 回调函数，参数为该元素的信息
 */
export const useSelectElement = (
  key: string,
  cb?: CB
): Promise<ElementData> => {
  return new Promise(resolve => {
    uni
      .createSelectorQuery()
      .select(key)
      .boundingClientRect((result: ElementData) => {
        if (cb) cb!(result)
        resolve(result)
      })
      .exec()
  })
}

export const useChildren = () => {
  const {
    subTree: { children }
  } = getCurrentInstance() as any

  // provide(TABS_CONTACT_KEY, { ctx })
}

export const useParent = () => {
  const instance = getCurrentInstance() as any

  // provide(TAB_CONTACT_KEY, { parent, ctx })
}
